home *** CD-ROM | disk | FTP | other *** search
/ AOL File Library: 4,101 to 4,200 / aol-file-protocol-4400-4101-to-4200.zip / AOLDLs / ADV - Articles & Misc / Archive Formats / ARCHIVES1.shk / ARCHIVES.TXT
Text File  |  1989-10-31  |  44KB  |  1,347 lines

  1.  
  2.  
  3.              [[[[[[[[[  ARCHIVE FORMATS AND DATA  ]]]]]]]]]
  4.  
  5.                          (C) 1989 Raymond Clay
  6.                Permision to freely distribute and modify
  7.                  is granted so long as credit is given
  8.                and all of the text through the disclaimer
  9.                         is retained and unchanged
  10.  
  11.         October 31, 1989
  12.  
  13. If you want to submit corrections, changes or source code (in plain ASCII),
  14. you can reach me via:
  15.  
  16.  
  17.         CIS          :   74730,1344
  18.         GEnie        :   R.CLAY1
  19.         AppleLink    :   Raymond6
  20.         StarText     :   209287       <D/FW-Texas
  21.  
  22. DISCLAIMER:
  23.  
  24. I make no garuntees of any kind about the accuracy or adequacey of this
  25. information for any purpose, nor am I responsible for the consequences of
  26. using this information in any manner.
  27.  
  28. Oh, for a less litiginous world!
  29.  
  30.  
  31.           **************************************************
  32.  
  33.  
  34.           CONTENTS                                      PAGE
  35.           --------------------------------------------------
  36.           ARC/PAK Format ................................  2
  37.  
  38.           Binary ][ Format ..............................  3
  39.  
  40.           DWC Format ....................................  5
  41.  
  42.           GIF Format ....................................  6
  43.  
  44.           LZH Format ....................................  8
  45.  
  46.           NuFX Format ...................................  9
  47.  
  48.           PackIt Format ................................. 13
  49.  
  50.           StuffIt ....................................... 13
  51.  
  52.           ZIP Format .................................... 15
  53.  
  54.           ZOO Format .................................... 19
  55.  
  56.           Time Value Formats ............................ 20
  57.  
  58.           Extended Files ................................ 20
  59.  
  60.           Filenames ..................................... 20
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.                                 ARC/PAK                        Page  2
  70.                                 =======
  71.  
  72. System of Origin : IBM
  73.  
  74. Original author : Thom Henderson
  75.  
  76. FILE FORMAT
  77. -----------
  78.  
  79.      file header 1
  80.           file 1
  81.      file header 2
  82.           file 2
  83.      .
  84.      .
  85.      file header n
  86.           file n
  87. EOF
  88.  
  89.  
  90. FILE HEADER
  91. -----------
  92.  
  93. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  94. ------ ----------- ---- ----------- ----------------------------------
  95. 00     ARCID       DB   $1A
  96. 01     ARCMTD      DB   00          ;Method
  97. 02     ARCFNT      DS   12          ;filename
  98. 0E                 DB   00
  99. 0F     ARCNSZ      HEX  00000000    ;Compressed size
  100. 13     ARCDAT      DW   0000        ;File date (MSDOS)
  101. 15     ARCTIM      DW   0000        ;File time (MSDOS)
  102. 17     ARCCRC      DW   0000
  103. 19     ARCOSZ      HEX  00000000    ;Uncompressed size
  104. 1D     ARCFIL      DS   ARCNSZ
  105.  
  106.  
  107.        COMPRESSION METHOD
  108.        ------------------
  109.  
  110.        NAME        METHOD  DESCRIPTION
  111.        ----------- ------ --------------------------------------------
  112.        Stored        0     No compression used
  113.        Packed        1     Repeated running length encoding (RLE)
  114.        Squeezed      2     Huffman encoding
  115.        Crunched      3     LZW with 4K buffer, 12 bits codes
  116.        Crunched      4     First packing, then LZW 4K buffer with 12 bits
  117.        Crunched      5     Packing, LZW, 4K buffer, vari len (9-12 bits)
  118.        Squashed      6     LZW, 8K buffer, variable length (9-13 bits)
  119.        Crushed       7     Packing, then LZW 8K buffer, 2-13 bits (PAK 1.0)
  120.        Distill       8     Dynamic Huffman with 8K buffer (PAK 2.0)
  121.  
  122.  
  123. POSITIONING IN FILE
  124. -------------------
  125.  
  126. Begining of File Data = Begining of File Header + $1D
  127.  
  128. Next File Header = Begining of File Header + $1D + ARCNSZ
  129.        or
  130.                  = Begining of File Data + ARCNSZ
  131.  
  132.           **************************************************
  133.  
  134.  
  135.                               BINARY ][                        Page  3
  136.                               =========
  137.  
  138. System of Origin : Apple ][
  139.  
  140. Original Author : Gary Little
  141.  
  142. FILE FORMAT
  143. -----------
  144.  
  145.      file header 1
  146.           file 1
  147.      file header 2
  148.           file 2
  149.      .
  150.      .
  151.      file header n
  152.           file n
  153. EOF
  154.  
  155.  
  156. FILE HEADER
  157. -----------
  158.  
  159. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  160. ------ ----------- ---- ----------- ----------------------------------
  161. 00     B2ID1       DB   $A          ;ID bytes
  162. 01     B2ID2       ASC  'GL'        ;authors initials - Gary Little
  163. 03     B2ACS       DB   00          ;access code
  164. 04     B2FTYP      DB   00          ;file type
  165. 05     B2AUX       DB   0000        ;auxiliary type
  166. 07     B2STYP      DB   00          ;storage type
  167. 08     B2FSIZ      DW   0000        ;size of file in 512-byte blocks
  168. 0A     B2MODDAT    DW   0000        ;date of modification
  169. 0C     B2MODTIM    DW   0000        ;time of modification
  170. 0E     B2CRDAT     DW   0000        ;date of creation
  171. 10     B2CRTIM     DW   0000        ;time of creation
  172. 12     B2ID3       DB   2           ;ID byte
  173. 13                 DS   1           ;reserved
  174. 14     B2EOF       HEX  000000      ;end-of-file (EOF) position
  175. 17     B2FLN       DB   00          ;length of filename or partial pathname
  176. 18     B2FNAM      DS   15          ;ASCII filename or partial pathname
  177.                                     ;If the filename is a partial pathname
  178.                                     ;it will overwrite the following
  179.                                     ;2 segments for native filename
  180. 27     B2NFLN      DB   00          ;length of native filename]
  181. 28     B2NFNAM     DS   48          ;ASCII native filename
  182. 58                 DS   23          ;reserved, must be zero
  183. 6F     B2GSACS     DB   00          ;GS/OS access code (high byte)
  184. 70     B2GSFTYP    DB   00          ;GS/OS file type code (high byte)
  185. 71     B2GSSTYP    DB   00          ;GS/OS storage type code (high byte)
  186. 72     B2GSSIZ     DW   0000        ;GS/OS size of file in blocks (high word)
  187. 74     B2GSEOF     DB   00          ;GS/OS EOF position (high byte)
  188. 75     B2DSKSPC    HEX  00000000    ;disk space needed (512 byte Blocks)
  189. 79     B2OS        DB   00          ;operating system type
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                                                Page  4
  203.  
  204.  
  205.        OPERATING SYSTEM TYPE
  206.  
  207.        VALUE  DESCRIPTION               VALUE  DESCRIPTION
  208.        ----- -------------------------- ----- ------------------------
  209.        00     ProDOS or SOS             07     Macintosh XL
  210.        01     DOS 3                     08     Apple CP/M
  211.        02     reserved                  09     reserved
  212.        03     DOS 3.2 or DOS 3.1        0A     MS-DOS
  213.        04     Apple II Pascal           0B     High Sierra(CD-ROM)
  214.        05     Macintosh MFS             0C     ISO 9660 (CD-ROM)
  215.        06     Macintosh HFS
  216.  
  217. 7A     B2NFTYP     DW   0000        ;native file type code
  218. 7C     B2PHANTOM   DB   00          ;phantom file flag
  219.  
  220.        PHANTOM FILE S/W DESIGNATIONS
  221.  
  222.        VALUE  DESCRIPTION               VALUE  DESCRIPTION
  223.        ----- -------------------------- ----- ------------------------
  224.        00     [generic]                 04     Modem MGR
  225.        01     Point-to-Point            05     CommWorks
  226.        02     Tele-Master Comm Sys      06     MouseTalk
  227.        03     ProTERM
  228.  
  229. 7D     B2FLAGS     DB   00          ;data flags
  230.  
  231.        LABEL       BIT        DESCRIPTION
  232.        ----------- --------- -----------------------------------------
  233.        B2FLAGS       7        data is compressed (SQUeezed)
  234.                      6        data is encrypted
  235.                      0        file is sparse/packed
  236.  
  237.  
  238.        NAME        METHOD  DESCRIPTION
  239.        ----------- ------ --------------------------------------------
  240.        SQUEEZED            Huffman Squeeze. The filename will have '.QQ'
  241.                            appended. The first 16 bytes of the file are
  242.                            the original filename length and filename, the
  243.                            next 14 bytes are identical in form and content
  244.                            to the Apple GetInfo results and the bytes $3 -
  245.                            $10 of the Binary ][ header. The rest of the
  246.                            file is squeezed with packing.
  247.  
  248. 7E     B2VERSION   DB   00          ;Binary II version number
  249. 7F     B2NUMFOL    DB   00          ;number of files to follow
  250.  
  251.  
  252. NOTE : Many GS/OS file attributes are stored in 2 places (this is a result
  253.        of the differences between ProDOS 8/16 and GS/OS).
  254.  
  255. POSITIONING IN FILE
  256. -------------------
  257.  
  258. Begining of File Data = Begining of File Header + $80
  259.  
  260. Next File Header = Begining of File Header + $80 + B2FSIZ
  261.        or
  262.                  = Begining of File Data + B2FSIZ
  263.  
  264.           **************************************************
  265.  
  266.  
  267.                                  DWC                           Page  5
  268.                                  ===
  269.  
  270. System of Origin : IBM
  271.  
  272. FILE FORMAT
  273. -----------
  274.  
  275.           file 1
  276.           file 2
  277.           .
  278.           .
  279.           file n
  280.           file header 1
  281.           file header 2
  282.           .
  283.           .
  284.           file header n
  285.      end header
  286. EOF
  287.  
  288.  
  289. FILE HEADER
  290. -----------
  291.  
  292. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  293. ------ ----------- ---- ----------- ----------------------------------
  294. 00     DWCFNT      DS   12          ;filename
  295. 0C                 DB   00
  296. 0D     DWCOSZ      HEX  00000000    ;Uncompressed size
  297. 11     DWCTIM      DW   0000        ;File time ala MSDOS
  298. 13     DWCDAT      DW   0000        ;File date ala MSDOS
  299. 15     DWZNSZ      HEX  00000000    ;Compressed size
  300. 19     DWCFTP      HEX  00000000    ;File offset from SOF
  301. 1D     DWCMTD      DB   00          ;Method
  302. 1E                 DW   0000        ;???
  303. 20     DWCCRC      DW   0000        ;CRC
  304.  
  305.  
  306. END HEADER
  307. ----------
  308.  
  309.          ORG       DWCEND-27
  310.  
  311. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  312. ------ ----------- ---- ----------- ----------------------------------
  313. 00               DS     20          ;?
  314. 14               DW     0000        ;Number of files
  315. 16               DW     0000
  316. 18               ASC    'DWC'       ;ID
  317. 1B     DWCEND
  318.  
  319.  
  320.        COMPRESSION METHOD
  321.        ------------------
  322.  
  323.        NAME        METHOD  DESCRIPTION
  324.        ----------- ------ --------------------------------------------
  325.        Stored              No compression used
  326.        Crunched            Packing, LZW, 4K buffer, var len (9-12 bits)
  327.  
  328.           **************************************************
  329.  
  330.  
  331.  
  332.  
  333.                                 GIF                            Page  6
  334.                                 ---
  335.  
  336. Created by Compuserve, Inc.
  337.  
  338. FILE FORMAT
  339. -----------
  340.  
  341.      GIF Header
  342.           Global Color Map
  343.                Image Descriptor 1
  344.                     Local Color Map
  345.                     Raster Data
  346.                Image Descriptor 2
  347.                     Local Color Map
  348.                     Raster Data
  349.                .
  350.                .
  351.                .
  352.                Image Descriptor n
  353.                     Local Color Map
  354.                     Raster Data
  355.      GIF Terminator
  356. EOF
  357.  
  358.  
  359. HEADER FORMAT
  360. -------------
  361.  
  362. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  363. ------ ----------- ---- ----------- ----------------------------------
  364. 00     GIFSIG      ASC  'GIF87a'    ;Gif signature and version (87a)
  365. 06     GIFWDTH     DW   0000        ;Screen Width - Raster width in pixels
  366. 08     GIFHGHT     DW   0000        ;Screen Height - Raster height in pixels
  367. 0A     GIFCOLR     DB   00          ;Colorbyte
  368.  
  369.        LABEL       BIT        DESCRIPTION
  370.        ----------- --------- -----------------------------------------
  371.        GCMFLG         7       if set - Global color map follows Descriptor
  372.        GCMRES        6-4      # bits of color resolution + 1
  373.                       3       reserved
  374.        GCMPSIZ       2-0      # bits/pixel in image +1, range of values 1
  375.                               to 8 bits. This gives a range of 2 (B & W) to
  376.                               256 colors
  377.  
  378. 0B     GIFBKGRND   DB   00          ;Color index of screen background,
  379.                                     ;color is defined from the Global
  380.                                     ;color map or default map.
  381.        GIFEXTN                      ;Currently undefined GIF extension
  382.                                     ;block
  383.  
  384.        OFFSET LABEL       TYP  VALUE       DESCRIPTION
  385.        ------ ----------- ---- ---------- ----------------------------
  386.        00     GIFEXTSIG   DB   $21         ;Extension Block signature
  387.        01     EXTCODE     DB   00          ;Extension Function Code
  388.        02     EXTCNT0     DB   00          ;Count of function bytes
  389.        03     EXTFUNC0    DS   up to 255
  390.        .
  391.        .         repeat EXTCNT0 and EXTFUNC0 as many times as required
  392.        .
  393.               EXTTERM     DB   00          ;Termination of Extension Block
  394.  
  395. 0C     GIFHEND     DB   00          ;end of GIF header
  396.  
  397.  
  398.  
  399.                                                                Page  7
  400.  
  401.  
  402. GLOBAL COLOR MAP FORMAT
  403. -----------------------
  404.  
  405. GCMNUM = 2 ^ (GCMPSIZ)
  406.  
  407. GCMLEN = GCMNUM * 3
  408.  
  409. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  410. ------ ----------- ---- ----------- ----------------------------------
  411. 00     GCMCOLR0    HEX  000000      ;definition for color 0
  412.  
  413.        OFFSET LABEL       TYP  VALUE       DESCRIPTION
  414.        ------ ----------- ---- ---------- ----------------------------
  415.        00     REDINTNS    DB   00          ;Red intensity value for this
  416.                                            ;color
  417.        01     GRNINTNS    DB   00          ;Green intensity value for
  418.                                            ;this color
  419.        02     BLUINTNS    DB   00          ;Blue intensity value for this
  420.                                            ;color
  421.  
  422. 03     GCMCOLR1    HEX  000000      ;definition for color 1
  423.        .
  424.        .
  425.        .
  426. xx     GCMCOLRn    HEX  000000      ;definition for color n
  427.  
  428.  
  429. IMAGE DESCRIPTOR
  430. ----------------
  431.  
  432. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  433. ------ ----------- ---- ----------- ----------------------------------
  434. 00     IMGSEP      DB   $2C         ;Image separator character
  435. 01     IMGLFT      DW   0000        ;Start of image in pixels from the
  436.                                     ;left side of the screen
  437. 03     IMGTOP      DW   0000        ;Start of image in pixels from the
  438.                                     ;top of the screen
  439. 05     IMGWID      DW   0000        ;Width of the image in pixels
  440. 07     IMGHGT      DW   0000        ;Height of the image in pixels
  441. 09     IMGFLGS     DB   00          ;GIF flags for this image
  442.  
  443.        LABEL       BIT        DESCRIPTION
  444.        ----------- --------- -----------------------------------------
  445.        MAPFLG         7       If set, use pixel and Local color map
  446.                               following, use pixel; otherwise use Global
  447.                               Color Map
  448.        RASTFLG        6       If clear, Image formatted in Sequential order,
  449.                               if set then Image in Interlaced order
  450.                      5-3      unused
  451.        IMGPSIZ       2-0      bits per pixel for this image
  452.  
  453. 0A     LOCOLMAP    DS   [IMGPSIZ^2]*3 ;Same format and size computation
  454.                                     ;as Global Color Map
  455.        RASTDAT                      ;Raster Data - compressed image
  456.        GIFTERM     DB   $3B         ;Termination of GIF data
  457.  
  458.        COMPRESSION METHOD
  459.        ------------------
  460.        LZW, 4k BuffER, variable length (3-12 bits)
  461.  
  462.           **************************************************
  463.  
  464.  
  465.                                 LZH                            Page  8
  466.                                 ===
  467.  
  468. System of Origin : IBM
  469.  
  470. FILE FORMAT
  471. -----------
  472.  
  473.      file header 1
  474.           file 1
  475.      file header 2
  476.           file 2
  477.      .
  478.      .
  479.      file header n
  480.           file n
  481. EOF
  482.  
  483.  
  484. FILE HEADER
  485. -----------
  486.  
  487. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  488. ------ ----------- ---- ----------- ----------------------------------
  489. 00     LZHHSZ      DB   0           ;Header size
  490. 01     LZHCKS      DB   0           ;Cksum of remaining bytes
  491. 02     LZHMTD      ASC  '-lh0-'     ;Method
  492. 07     LZHNSZ      HEX  00000000    ;Compressed size
  493. 0B     LZHOSZ      HEX  00000000    ;Uncompressed size
  494. 0F     LZHTIM      DW   0000        ;File time (MSDOS)
  495. 11     LZHDAT      DW   0000        ;File date (MSDOS)
  496. 13     LZHATR      DW   0000        ;File attribute
  497. 15     LZHFNL      DB   00          ;filename/path length
  498. 16     LZHFNT      DS   LZHFNL      ;filename/path
  499. 2B     LZHCRC      DW   0000        ;CRC-16
  500.  
  501.  
  502.        COMPRESSION METHOD
  503.        ------------------
  504.  
  505.        NAME        METHOD  DESCRIPTION
  506.        ----------- ------ --------------------------------------------
  507.        STORED      -lh0-   No compression used
  508.        LZHUF       -lh1-   LZW, 4K buffer, Huffman for upper 6 bits of pos
  509.        LZARI       -lz4-   LZW, Arithmetic Encoding
  510.        LZARI       -lz5-   LZW, Arithmetic Encoding
  511.  
  512.  
  513. POSITIONING IN FILE
  514. -------------------
  515.  
  516. Begining of File Data = Begining of Header + LZHHSZ
  517.  
  518. Begining of Next File Header = Begining of File Data + LZHNSZ
  519.  
  520.           **************************************************
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.                            NuFX - SHRINKIT                     Page  9
  532.                            ===============
  533.  
  534. System of Origin: Apple ][
  535.  
  536. Original author: Andrew Nicholas
  537.  
  538. FILE FORMAT
  539. -----------
  540.  
  541.      Master Header
  542.           File 1 Header
  543.                Attribute Section
  544.                Filename Section
  545.                Thread Section
  546.                     Thread 1
  547.                     .             File data is contained in a thread
  548.                     .
  549.                     Thread n
  550.           File 2 Header
  551.                Attribute Section
  552.                Filename Section
  553.                Thread Section
  554.                     Thread 1
  555.                     .
  556.                     .
  557.                     Thread n
  558.           File 3 Header
  559.           .
  560.           .
  561.           .
  562. EOF
  563.  
  564.  
  565. MASTER HEADER
  566. -------------
  567.  
  568. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  569. ------ ----------- ---- ----------- ----------------------------------
  570. 00     NUID1       HEX  4EF546E96CE5 ;Master signature spells "NuFile"
  571.                                     ;in alternating high and low ASCII
  572. 06     NUCRC       DW   0000        ;CRC of bytes $08 - $2F in this block
  573. 08     NURECS      HEX  00000000    ;Total number of files in this archive
  574. 0C     NUCRTIM     HEX  000000      ;archive creation time and date
  575. 0F     NUCRDAT     HEX  0000000000
  576. 14     NUMDTIM     HEX  000000      ;time and date archive last modified
  577. 17     NUMDDAT     HEX  0000000000
  578. 1C                 DS   19          ;reserved
  579. 2F                                  ;end master header
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.                                                                Page 10
  598.  
  599. TIME FORMAT
  600. -----------
  601.  
  602.        OFFSET LABEL       TYP  VALUE       DESCRIPTION
  603.        ------ ----------- ---- ---------- ----------------------------
  604.        00     GSSEC       DB   00          ;second - 0 through 59
  605.        01     GSMIN       DB   00          ;minute - 0 through 59
  606.        02     GSHR        DB   00          ;hour - 0 through 23
  607.        03     GSYR        DB   00          ;current Year minus 1900
  608.        04     GSDAY       DB   00          ;day - 0 through 30
  609.        05     GSMNTH      DB   00          ;month - 0 through 11, with
  610.                                            ;0=January
  611.        06                 DB   00          ;filler byte - reserved = 00
  612.        07     GSWDAY      DB   00          ;weekday - 1 through 7, with
  613.                                            ;1=Sunday
  614.  
  615.        The format of this field is identical to that described in the
  616.        _ReadTimeHex ($0D03) call described on page 14-14 of the
  617.        Apple_IIgs_Toolbox_Reference:_Volume_1.
  618.  
  619.  
  620. FILE HEADER
  621. -----------
  622.  
  623. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  624. ------ ----------- ---- ----------- ----------------------------------
  625. 00     NXID1       HEX  4EF546D8    ;Header signature spells "NuFX" in
  626.                                     ;alternating high and low ASCII
  627. 04     NXCRC       DW   0000        ;CRC of bytes $06 - NXATRBCNT+1
  628.  
  629.  
  630. ATTRIBUTE SECTION
  631. -----------------
  632.  
  633. 06     NXATRBCNT   DW   0000        ;length of the attribute section of
  634.                                     ;each header. The distance from NXID1
  635.                                     ;to and including NXFNL
  636. 08     NXVERS      DW   0000        ;Minimum version needed for extraction
  637. 0A     NXNUMTHR    HEX  00000000    ;The number of threads following NXFNAM
  638. 0E     NXSYSID     DW   0000        ;Native file system identifier
  639.  
  640.                           SYSTEM IDENTIFIERS
  641.  
  642.        VALUE  DESCRIPTION               VALUE  DESCRIPTION
  643.        ----- -------------------------- ----- ------------------------
  644.        0000   File is an Archived Disk  0008   Apple CP/M
  645.        0001   ProDOS/SOS                0009   reserved, do not use
  646.        0002   DOS 3.3                   000A   MS-DOS
  647.        0003   DOS 3.2                   000B   High-Sierra/ISO 9660
  648.        0004   Apple II Pascal           000C
  649.        0005   Macintosh(tm) (HFS)       .     reserved
  650.        0006   Macintosh (MFS)           FFFF
  651.        0007   LISA(tm) file system
  652.  
  653.  
  654. 10     NXSYSSEP    ASC  '/'         ;Native file system seperator
  655.                                     ;ProDOS = '/' ($2F)
  656.                                     ;HFS = ':' ($3A)
  657.                                     ;MS-DOS = '\' ($5C)
  658. 11     NXSPARSE    DB   00          ;sparse file indicated if = $01
  659. 12     NXACCESS    HEX  00000000    ;
  660.  
  661.  
  662.  
  663.                                                                Page 11
  664.  
  665.  
  666.        LABEL       BIT        DESCRIPTION if set
  667.        ----------- --------- -----------------------------------------
  668.        NXACCESS     31-8      reserved, must be zero
  669.                       7       destroy enabled
  670.                       6       rename enabled
  671.                       5       backup needed
  672.                      4-3      reserved, must be zero
  673.                       2       file is invisible
  674.                       1       write enabled
  675.                       0       read enabled
  676.  
  677. 16     NXFTYP      HEX  00000000    ;file type, Disk = 0
  678. 1A     NXEXTYP     HEX  00000000    ;extra type, ProDOS aux_type or HFS
  679.                                     ;creator_type, Disk: total number
  680.                                     ;of blocks on the device
  681. 1E     NXSTRTYP    DW   0000        ;storage type, if a disk this should
  682.                                     ;contain the block size of the O/S
  683.  
  684.                              STORAGE TYPE
  685.  
  686.       TYPE  IF FILE SIZE IS:           O/S      BLOCK SIZE
  687.       ---- ------------------------- --------- ---------------
  688.        $1   < 512 bytes              ProDOS     512
  689.        $2   > 511 bytes, < 128k      DOS 3.3    256
  690.        $3   > 129k                   HFS        524
  691.        $5   extended file
  692.        $D   subdirectory
  693.  
  694. 20     NXCRTIM     HEX  000000      ;file creation time and date
  695. 23     NXCRDAT     HEX  0000000000
  696. 28     NXMDTIM     HEX  000000      ;time and date file last modified
  697. 2B     NXMDDAT     HEX  0000000000
  698. 30     NXARCTIM    HEX  000000      ;time and date file archived
  699. 33     NXARCDAT    HEX  0000000000
  700.        .
  701.        .
  702.  
  703. Any other attributes are added here. NXATRBCNT points to the NXFNL, which
  704. is always the last attribute.
  705.  
  706.        .
  707.        .
  708. NXATRBCNT-2
  709.        NXFNL       DW   0000        ;filename length
  710.  
  711.  
  712. FILENAME SECTION
  713. ----------------
  714.  
  715. NXFNL+2
  716.        NXFILE      DS   NXFNL       ;Filename, partial pathname or disk
  717.                                     ;volume name. Names ported across
  718.                                     ;systems may have illegal characters
  719.                                     ;or characteristics.
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.                                                                Page 12
  730.  
  731.  
  732. THREAD SECTION
  733. --------------
  734.  
  735. Thread records are 16 byte records which immediately follow the filename and
  736. describe the types of data structures which are included with a given record.
  737. The number of threads is in the attribute section under NXNUMTHR.
  738.  
  739.  
  740. A thread record can be represented as follows:
  741.  
  742. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  743. ------ ----------- ---- ----------- ----------------------------------
  744. 00     THRCLASS    DW   0000        ;describes the class of the thread
  745.  
  746.                         0000        CLS_MSG
  747.                         0001        CLS__CNTRL
  748.                         0002        CLS_DATA
  749.                         0003        CLS_SPRSE
  750.  
  751. 02     THRFRMT     DW   0000        ;format of the data within the thread
  752.  
  753.                         0000        ;Uncompressed
  754.                         0001        ;SQueezed (SQ/USQ)
  755.                         0002        ;Dynamic LZW [ShrinkIt]
  756.                         0003
  757.                         .           ;RESERVED, contact the author
  758.                         FFFF
  759.  
  760. 04     THRKIND     DW   0000        ;describes data in thread
  761.  
  762.        if THRCLS =      and THRKIND =   THEN THE THREAD CONTAINS:
  763.        ---------------- -------------- ---------------------------
  764.        CLS_MSG          0000            ASCII text
  765.                                         all others undefined
  766.  
  767.        CLS_CNTRL        0000            create directory
  768.                                         all others undefined
  769.  
  770.        CLS_DATA         0000            data_fork of file
  771.                         0001            disk image
  772.                         0002            resource_fork of file
  773.                                         all others undefined
  774.  
  775. 06                 DS   2
  776. 08     THREOF      HEX  00000000    ;length of the uncompressed thread
  777. 0C     THRCMPEOF   HEX  00000000    ;length of the compressed thread
  778.  
  779. POSITIONING IN FILE
  780. -------------------
  781.  
  782. Start of the thread list = (beginning of header) + NXATRBCNT + NXFNL
  783.  
  784. End of the thread list = (beginning of header) + NXATRBCNT + NXFNL +
  785.                          (16 * NXNUMTHR)
  786.  
  787. Start of a data_thread = (beginning of header) + NXATRBCNT + NXFNL +
  788.                          (16 * NXNUMTHR) + (THRCMPEOF of all threads
  789.                           in the thread list which are not data prior
  790.                           to finding a CLS_DATA = 0000)
  791.  
  792.  
  793.  
  794.  
  795.                                                                Page 13
  796.  
  797.  
  798. Start of a resource_thread = (beginning of header) + NXATRBCNT + NXFNL +
  799.                              (16 * NXNUMTHR) + (THRCMPEOF of all the
  800.                               threads in the thread list which are not
  801.                               resources prior to finding a
  802.                               CLS_DATA = 0002)
  803.  
  804. Next record = (beginning of header) + NXATRBCNT + NXFNL +
  805.               (16 * NXNUMTHR) + (THRCMPEOF of each thread)
  806.  
  807.           **************************************************
  808.  
  809.  
  810.                                PACKIT
  811.                                ======
  812.  
  813. System of Origin : Macintosh
  814.  
  815. FILE HEADER
  816. -----------
  817.  
  818. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  819. ------ ----------- ---- ----------- ----------------------------------
  820. 00     PITFLN      HEX  00          ;filename length
  821. 01     PITFNAM     DS   63          ;filename
  822. 40     PITTYP      HEX  00000000    ;file type
  823. 44     PITCRT      HEX  00000000    ;Creator
  824. 48     PITFFLG     DW   0000        ;Finder flags
  825. 4C     PITLOK      DW   0000        ;locked?
  826. 4E     PITDSIZ     HEX  00000000    ;data fork uncompressed size
  827. 52     PITRSIZ     HEX  00000000    ;resource fork uncompressed size
  828. 56     PITCDSIZ    HEX  00000000    ;data fork compressed size
  829. 5A     PITCRSIZ    HEX  00000000    ;resource fork compressed size
  830. 5E     PITCRC      DW   0000        ;CRC
  831.  
  832.           **************************************************
  833.  
  834.  
  835.                                STUFFIT
  836.                                =======
  837.  
  838. System of Origin : Macintosh
  839.  
  840. Original author : Raymond Lau
  841.  
  842. FILE FORMAT
  843. -----------
  844.  
  845.      Master Header
  846.           file header 1
  847.                file 1 resource fork
  848.                file 1 data fork
  849.           file header 2
  850.                file 2 resource fork
  851.                file 2 data fork
  852.           .
  853.           .
  854.           file header n
  855.                file n resource fork
  856.                file n data fork
  857. EOF
  858.  
  859.  
  860.  
  861.                                                                Page 14
  862.  
  863.  
  864. MASTER HEADER
  865. -------------
  866.  
  867. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  868. ------ ----------- ---- ----------- ----------------------------------
  869. 00     SITHSIG     ASC  'SIT!'      ;STUFFIT archive signature
  870. 04     SITHNUM     DW   0000        ;number of files in archive
  871. 06     SITHLEN     HEX  00000000    ;length of entire archive incl hdr
  872. 0A     SITHID2     ASC  'rLau'      ;authors name - R. Lau
  873. 0E     SITHVER     DB   00          ;version number
  874. 0F                 DS   7           ;reserved
  875.  
  876.  
  877. FILE HEADER
  878. -----------
  879.  
  880. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  881. ------ ----------- ---- ----------- ----------------------------------
  882. 00     SITFRCMP    DB   00          ;rsrc fork compression method
  883. 01     SITFDCMP    DB   00          ;data fork compression method
  884. 02     SITFNL      DB   00          ;file name length
  885. 03     SITFNAM     DS   $3F         ;filename
  886. 41     SITFTYP     DB   00000000    ;filetype
  887. 45     SITFCR      DB   00000000    ;file creator
  888. 49     SITFFFL     DW   0000        ;Finder flags
  889. 4B     SITFCRD     HEX  00000000    ;creation date
  890. 4F     SITFMDD     HEX  00000000    ;modification date
  891. 53     SITFRLN     HEX  00000000    ;uncompressed resource fork length
  892. 57     SITFDLN     HEX  00000000    ;uncompressed data fork length
  893. 5B     SITFCRLN    HEX  00000000    ;compressed resource fork length
  894. 5F     SITFCDLN    HEX  00000000    ;compressed data fork length
  895. 61     SITFRCRC    DW   0000        ;resource fork CRC
  896. 63     SITFDCRC    DW   0000        ;data fork CRC
  897. 65     SITFRPAD    DB   00          ;pad bytes for encrypted files,
  898. 66     SITFDPAD    DB   00          ;resource and data forks
  899. 6A                 DS   4           ;reserved
  900. 6E     SITFHCRC    DW   0000        ;CRC of file header
  901.  
  902.  
  903.        STUFFIT METHODS
  904.  
  905.        NAME        METHOD  DESCRIPTION
  906.        ----------- ------ --------------------------------------------
  907.        noComp         0    uncompressed
  908.        rleComp        1    RLE compression
  909.        lzwComp        2    LZW compression, 18k buffer, 14 bit code size
  910.        hufComp        3    Huffman compression
  911.        encrypted     16    bit set if encrypted. ex: encrypted+lzwComp
  912.        startFolder   32    marks start of a new folder
  913.        endFolder     33    marks end of the last folder started
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.                                                                Page 15
  928.  
  929.  
  930. POSITIONING IN FILE
  931. -------------------
  932.  
  933. First File Header = SITHSIG + $15
  934.  
  935. Begining of Resource Fork = SITFRCMP + $6F
  936.  
  937. Begining of Data Fork = Begining of Resource Fork + SITFCRLN
  938.  
  939. Next File Header = Begining of previous Data Fork + SITFCDLN
  940.        or
  941.                  = Previous File Header + $6F + SITFCRLN + SITCDLN
  942.  
  943.           **************************************************
  944.  
  945.  
  946.                                 ZIP
  947.                                 ===
  948.  
  949. System of Origin : IBM
  950.  
  951. Original author : Phil Katz
  952.  
  953. FILE FORMAT
  954. -----------
  955.  
  956.  
  957. Files stored in arbitrary order.  Large zipfiles can span multiple
  958. diskette media.
  959.  
  960.           Local File Header 1
  961.                     file 1 extra field
  962.                     file 1 comment
  963.                file data 1
  964.           Local File Header 2
  965.                     file 2 extra field
  966.                     file 2 comment
  967.                file data 2
  968.           .
  969.           .
  970.           .
  971.           Local File Header n
  972.                     file n extra field
  973.                     file n comment
  974.                file data n
  975.      Central Directory
  976.                central extra field
  977.                central comment
  978.           End of Central Directory
  979.                     end comment
  980. EOF
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.                                                                Page 16
  994.  
  995.  
  996. LOCAL FILE HEADER
  997. -----------------
  998.  
  999. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  1000. ------ ----------- ---- ----------- ----------------------------------
  1001. 00     ZIPLOCSIG   HEX  04034B50    ;Local File Header Signature
  1002. 04     ZIPVER      DW   0000        ;Version needed to extract
  1003. 06     ZIPGENFLG   DW   0000        ;General purpose bit flag
  1004. 08     ZIPMTHD     DW   0000        ;Compression method
  1005. 0A     ZIPTIME     DW   0000        ;Last mod file time (MS-DOS)
  1006. 0C     ZIPDATE     DW   0000        ;Last mod file date (MS-DOS)
  1007. 0E     ZIPCRC      HEX  00000000    ;CRC-32
  1008. 12     ZIPSIZE     HEX  00000000    ;Compressed size
  1009. 16     ZIPUNCMP    HEX  00000000    ;Uncompressed size
  1010. 1A     ZIPFNLN     DW   0000        ;Filename length
  1011. 1C     ZIPXTRALN   DW   0000        ;Extra field length
  1012. 1E     ZIPNAME     DS   ZIPFNLN     ;filename
  1013. --     ZIPXTRA     DS   ZIPXTRALN   ;extra field
  1014.  
  1015. CENTRAL DIRECTORY STRUCTURE
  1016. ---------------------------
  1017.  
  1018. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  1019. ------ ----------- ---- ----------- ----------------------------------
  1020. 00     ZIPCENSIG   HEX  02014B50    ;Central file header signature
  1021. 04     ZIPCVER     DB   00          ;Version made by
  1022. 05     ZIPCOS      DB   00          ;Host operating system
  1023. 06     ZIPCVXT     DB   00          ;Version needed to extract
  1024. 07     ZIPCEXOS    DB   00          ;O/S of version needed for extraction
  1025. 08     ZIPCFLG     DW   0000        ;General purpose bit flag
  1026. 0A     ZIPCMTHD    DW   0000        ;Compression method
  1027. 0C     ZIPCTIM     DW   0000        ;Last mod file time (MS-DOS)
  1028. 0E     ZIPCDAT     DW   0000        ;Last mod file date (MS-DOS)
  1029. 10     ZIPCCRC     HEX  00000000    ;CRC-32
  1030. 14     ZIPCSIZ     HEX  00000000    ;Compressed size
  1031. 18     ZIPCUNC     HEX  00000000    ;Uncompressed size
  1032. 1C     ZIPCFNL     DW   0000        ;Filename length
  1033. 1E     ZIPCXTL     DW   0000        ;Extra field length
  1034. 20     ZIPCCML     DW   0000        ;File comment length
  1035. 22     ZIPDSK      DW   0000        ;Disk number start
  1036. 24     ZIPINT      DW   0000        ;Internal file attributes
  1037.  
  1038.        LABEL       BIT        DESCRIPTION
  1039.        ----------- --------- -----------------------------------------
  1040.        ZIPINT         0       if = 1, file is apparently an ASCII or
  1041.                               text file
  1042.                       0       if = 0, file apparently contains binary
  1043.                               data
  1044.                      1-7      unused in version 1.0.
  1045.  
  1046. 26     ZIPEXT      HEX  00000000    ;External file attributes, host
  1047.                                     ;system dependent
  1048. 2A     ZIPOFST     HEX  00000000    ;Relative offset of local header
  1049.                                     ;from the start of the first disk
  1050.                                     ;on which this file appears
  1051. 2E     ZIPCFN      DS   ZIPCFNL     ;Filename or path - should not
  1052.                                     ;contain a drive or device letter,
  1053.                                     ;or a leading slash. All slashes
  1054.                                     ;should be forward slashes '/'
  1055. --     ZIPCXTR     DS   ZIPCXTL     ;extra field
  1056. --     ZIPCOM      DS   ZIPCCML     ;file comment
  1057.  
  1058.  
  1059.                                                                Page 17
  1060.  
  1061.  
  1062. END OF CENTRAL DIR STRUCTURE
  1063. ----------------------------
  1064.  
  1065. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  1066. ------ ----------- ---- ----------- ----------------------------------
  1067. 00     ZIPESIG     HEX  06064B50    ;End of central dir signature
  1068. 04     ZIPEDSK     DW   0000        ;Number of this disk
  1069. 06     ZIPECEN     DW   0000        ;Number of disk with start central dir
  1070. 08     ZIPENUM     DW   0000        ;Total number of entries in central dir
  1071.                                     ;on this disk
  1072. 0A     ZIPECENN    DW   0000        ;total number entries in central dir
  1073. 0C     ZIPECSZ     HEX  00000000    ;Size of the central directory
  1074. 10     ZIPEOFST    HEX  00000000    ;Offset of start of central directory
  1075.                                     ;with respect to the starting disk
  1076.                                     ;number
  1077. 14     ZIPECOML    DW   0000        ;zipfile comment length
  1078. 16     ZIPECOM     DS   ZIPECOML    ;zipfile comment
  1079.  
  1080.  
  1081. ZIP VALUES LEGEND
  1082. -----------------
  1083.  
  1084.        HOST O/S
  1085.  
  1086.        VALUE  DESCRIPTION               VALUE  DESCRIPTION
  1087.        ----- -------------------------- ----- ------------------------
  1088.        0      MS-DOS and OS/2 (FAT)     5      Atari ST
  1089.        1      Amiga                     6      OS/2 1.2 extended file sys
  1090.        2      VMS                       7      Macintosh
  1091.        3      *nix                      8 thru
  1092.        4      VM/CMS                    255    unused
  1093.  
  1094.  
  1095.        GENERAL PURPOSE BIT FLAG
  1096.  
  1097.        LABEL       BIT        DESCRIPTION
  1098.        ----------- --------- -----------------------------------------
  1099.        ZIPGENFLG      0       If set, file is encrypted
  1100.           or          1       If file Imploded and this bit is set, 8K
  1101.        ZIPCFLG                sliding dictionary was used. If clear, 4K
  1102.                               sliding dictionary was used.
  1103.                       2       If file Imploded and this bit is set, 3
  1104.                               Shannon-Fano trees were used. If clear, 2
  1105.                               Shannon-Fano trees were used.
  1106.                      3-4      unused
  1107.                      5-7      used internaly by ZIP
  1108.  
  1109.        Note:  Bits 1 and 2 are undefined if the compression method is
  1110.               other than type 6 (Imploding).
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.                                                                Page 18
  1126.  
  1127.  
  1128.        COMPRESSION METHOD
  1129.  
  1130.        NAME        METHOD  DESCRIPTION
  1131.        ----------- ------ --------------------------------------------
  1132.        Stored         0    No compression used
  1133.        Shrunk         1    LZW, 8K buffer, 9-13 bits with partial clearing
  1134.        Reduced-1      2    Probalistic compression, L(X) = lower 7 bits
  1135.        Reduced-2      3    Probalistic compression, L(X) = lower 6 bits
  1136.        Reduced-3      4    Probalistic compression, L(X) = lower 5 bits
  1137.        Reduced-4      5    Probalistic compression, L(X) = lower 4 bits
  1138.        Imploded       6    2 Shanno-Fano trees, 4K sliding dictionary
  1139.        Imploded       7    3 Shanno-Fano trees, 4K sliding dictionary
  1140.        Imploded       8    2 Shanno-Fano trees, 8K sliding dictionary
  1141.        Imploded       9    3 Shanno-Fano trees, 8K sliding dictionary
  1142.  
  1143.  
  1144.        EXTRA FIELD
  1145.  
  1146.        OFFSET LABEL       TYP  VALUE       DESCRIPTION
  1147.        ------ ----------- ---- ---------- ----------------------------
  1148.        00     EX1ID       DW   0000        ;0-31 reserved by PKWARE
  1149.        02     EX1LN       DW   0000
  1150.        04     EX1DAT      DS   EX1LN       ;Specific data for individual
  1151.        .                                   ;files. Data field should begin
  1152.        .                                   ;with a s/w specific unique ID
  1153.        EX1LN+4
  1154.               EXnID       DW   0000
  1155.               EXnLN       DW   0000
  1156.               EXnDAT      DS   EXnLN       ;entire header may not exceed 64k
  1157.  
  1158.           **************************************************
  1159.  
  1160.  
  1161.                                 ZOO
  1162.                                 ===
  1163.  
  1164. System of Origin : IBM
  1165.  
  1166. Original author : Rahul Dhesi
  1167.  
  1168. FILE FORMAT
  1169. -----------
  1170.  
  1171.      Master Header
  1172.           file 1 header
  1173.                file 1
  1174.           file 2 header
  1175.                file 2
  1176.           .
  1177.           .
  1178.           file n header
  1179.                file n
  1180. EOF
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                                                                Page 19
  1192.  
  1193.  
  1194. MASTER HEADER
  1195. -------------
  1196.  
  1197. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  1198. ------ ----------- ---- ----------- ----------------------------------
  1199. 00                 DS   20
  1200. 14     ZOOSIG      HEX  A7DCFDC4    ;File signature
  1201. 18     ZOO1PTR     HEX  00000000    ;pointer to 1st header
  1202. 1C     ZOO?        HEX  00000000    ;?
  1203. 20     ZOOMVER     DB   00          ;version making archive
  1204. 21     ZOOMIN      DB   00          ;minimum version needed to extract
  1205.  
  1206.  
  1207. FILE HEADER
  1208. -----------
  1209.  
  1210. OFFSET LABEL       TYP  VALUE        DESCRIPTION
  1211. ------ ----------- ---- ----------- ----------------------------------
  1212. 00     ZOOFSIG     HEX  A7DCFDC4    ;signature
  1213. 04     ZOOFTYP     DB   00          ;?
  1214. 06     ZOOFCMP     DB   00          ;Compression method
  1215. 08     ZOOFNXH     HEX  00000000    ;Nxt hdr ofst frm Start of ZOO file
  1216. 0A     ZOOFCUR     HEX  00000000    ;Offset of this hdr
  1217. 0E     ZOOFDAT     DW   0000        ;Last mod file date (MS-DOS)
  1218. 10     ZOOFTIM     DW   0000        ;Last mod file time (MS-DOS)
  1219. 12     ZOOFCRC     DW   0000        ;CRC-16
  1220. 14     ZOOFOSZ     HEX  00000000    ;Uncompressed size
  1221. 18     ZOOFNSZ     HEX  00000000    ;Compressed size
  1222. 1C     ZOOFMVER    DB   00          ;version that made this file
  1223. 1D     ZOOFMIN     DB   00          ;minimum version needed to extract
  1224. 1E     Z00FDEL     DB   00          ;1 if file deleted from archive
  1225. 1F     ZOOFCMTP    HEX  00000000    ;pointer to comment, 0 if none
  1226. 23     ZOOFCMTL    DW   0000        ;length of comment
  1227. 25     ZOOFNAM     DS   13          ;filename
  1228.  
  1229.  
  1230. ZOO METHOD
  1231. ----------
  1232.  
  1233.        NAME        METHOD  DESCRIPTION
  1234.        ----------- ------ --------------------------------------------
  1235.        Stored              No compression used
  1236.        Crunched            Packing, LZW, 4K buffer, var len (9-12 bits)
  1237.  
  1238. POSITIONING IN FILE
  1239. -------------------
  1240.  
  1241. Begining of 1st File header = Begining of File + ZOO1PTR
  1242.        or
  1243.                             = Begining of File + $21
  1244.  
  1245. Begining of File Data = Begining of File Header + $31
  1246.  
  1247. Begining of Next File = Begining of File + ZOOFNXH
  1248.  
  1249. Begining of File Comment = Begining of File Header + ZOOFCMTP
  1250.  
  1251.           **************************************************
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.                                                                Page 20
  1258.  
  1259.  
  1260.                              TIME VALUES
  1261.                              ===========
  1262.  
  1263. MS-DOS TIME FORMAT
  1264. ------------------
  1265.  
  1266.        LABEL       BIT        DESCRIPTION
  1267.        ----------- --------- -----------------------------------------
  1268.        DATE        15-9       Year
  1269.                     8-5       Month
  1270.                     4-0       Day (all zeroes means no date)
  1271.  
  1272.        TIME        15-11      Hours (military)
  1273.                    10-5       Minutes
  1274.                     4-0       Seconds
  1275.  
  1276.  
  1277. ProDOS/SOS TIME FORMAT (APPLE)
  1278. ------------------------------
  1279.  
  1280.        LABEL       BIT        DESCRIPTION
  1281.        ----------- --------- -----------------------------------------
  1282.        DATE        15-9       Year (0-99)
  1283.                     8-5       Month
  1284.                     4-0       Day
  1285.  
  1286.        TIME        15-8       Hour (military time)
  1287.                     7-0       Minutes
  1288.  
  1289.           **************************************************
  1290.  
  1291.  
  1292.                             EXTENDED FILES
  1293.                             --------------
  1294.  
  1295. Extended files are a storage format used by a variety of operating
  1296. systems. The filename information points to a file that points to 2 other
  1297. files known as the DATA FORK and the RESOURCE FORK.
  1298.  
  1299. The resource fork contains information about, and/or for the use of, the
  1300. data fork. In porting amongst systems the resource fork is probably of
  1301. no use.
  1302.  
  1303. The data fork contains the actual file.
  1304.  
  1305.           **************************************************
  1306.  
  1307.  
  1308.                               FILENAMES
  1309.                               ---------
  1310.  
  1311. File name lengths, legal characters and format vary amongst the various
  1312. operating systems. MS-DOS allows a wider variety of characters while the
  1313. Apple operating systems allow longer names with no set format (no
  1314. extensions). Any program must be ready to convert a filename into the
  1315. current operating system format as well as handle any paths (either by
  1316. creating or ignoring them).
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.                                                                Page 21
  1324.  
  1325.  
  1326. A suggestion would be to use a more universal standard for the filenames
  1327. of files that are likely to be ported (ie; Text, ASCII Source, GIF, ASCII
  1328. data files, etc) while making no special effort with executable code
  1329. (including tokenized BASIC) filenames.
  1330.  
  1331. Such a standard might be:
  1332.  
  1333.                a filename of no more than 13 or less than 6 characters
  1334.                legal characters A-Z (all uppercase) the '.' and 0-9
  1335.                periods to be used only once in a file to make an MS-DOS
  1336.                     type extension (ie; .TXT, .DOC, etc)
  1337.                the filename MUST start with an alphabetic character (A-Z)
  1338.  
  1339. **********************************************************************
  1340.  
  1341.  
  1342. Information taken from files by Alex Bamdad, Rahul Dhesi, Jim Dorsey, Don
  1343. Elton, Colin James, Phil Katz, Raymond Lau, Gary Little, Andrew Nicholas,
  1344. Haruhiko Okumura, Martin Peckham, Mike Sax, Tim Swihart and probably
  1345. others.
  1346.  
  1347.